package com.yuyou.fn.educational.entity;

import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;

import com.github.wens.mybatisplus.annotations.TableField;
import com.github.wens.mybatisplus.annotations.TableId;
import com.github.wens.mybatisplus.annotations.TableName;
import com.github.wens.mybatisplus.examples.Example;

/**
 *
 * 优惠码
 *
 */
@TableName(value = "discount_code")
public class DiscountCode implements Serializable {

	public enum EnableStatusEnum {
		禁用,启用
	}
	public enum UsedStatusEnum {
		未使用,已使用
	}

	@TableField(exist = false)
	private static final long serialVersionUID = 1L;

	public static Example<DiscountCode> createExample(){
		return new Example<DiscountCode>(DiscountCode.class);
	}

	/**  */
	@TableId(value = "discount_code_id")
	private Long discountCodeId;

	/** 优惠名称 */
	private String name;

	/** 优惠码 */
	private String code;

	/** 优惠类型 1:折扣 0:金额 */
	@TableField(value = "discount_type")
	private Integer discountType;

	/** discount_type为1是折扣优惠(0 < “折扣” <= 1 )，discount_type为0是金额优惠 */
	@TableField(value = "discount_amount")
	private BigDecimal discountAmount;

	/** 最低消费 */
	@TableField(value = "order_threshold_amount")
	private BigDecimal orderThresholdAmount;

	/** 启用开关 0:关闭 1:启用 */
	@TableField(value = "enable_status")
	private Integer enableStatus;

	/** 使用状态 0:未 1:使用 */
	@TableField(value = "used_status")
	private Integer usedStatus;

	/** 生效开始时间 */
	@TableField(value = "effective_start_time")
	private Date effectiveStartTime;

	/** 生效结束时间 */
	@TableField(value = "effective_end_time")
	private Date effectiveEndTime;

	/**  */
	@TableField(value = "area_team_id")
	private Long areaTeamId;

	/** 区域名称 */
	@TableField(value = "area_team_name")
	private String areaTeamName;

	/** 适用业务组 */
	@TableField(value = "bus_team_ids")
	private String busTeamIds;

	/** 适用期 */
	@TableField(value = "period_ids")
	private String periodIds;

	/** 适用产品 */
	@TableField(value = "product_ids")
	private String productIds;

	/** 适用课程 */
	@TableField(value = "course_template_ids")
	private String courseTemplateIds;

	/** 适用年级 */
	@TableField(value = "grade_ids")
	private String gradeIds;

	/** 适用科目 */
	@TableField(value = "subject_ids")
	private String subjectIds;

	/**  */
	@TableField(value = "create_time")
	private Date createTime;

	/**  */
	@TableField(value = "update_time")
	private Date updateTime;

	public Long getDiscountCodeId() {
		return this.discountCodeId;
	}

	public void setDiscountCodeId(Long discountCodeId) {
		this.discountCodeId = discountCodeId;
	}

	public String getName() {
		return this.name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getCode() {
		return this.code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public Integer getDiscountType() {
		return this.discountType;
	}

	public void setDiscountType(Integer discountType) {
		this.discountType = discountType;
	}

	public BigDecimal getDiscountAmount() {
		return this.discountAmount;
	}

	public void setDiscountAmount(BigDecimal discountAmount) {
		this.discountAmount = discountAmount;
	}

	public BigDecimal getOrderThresholdAmount() {
		return this.orderThresholdAmount;
	}

	public void setOrderThresholdAmount(BigDecimal orderThresholdAmount) {
		this.orderThresholdAmount = orderThresholdAmount;
	}

	public Integer getEnableStatus() {
		return this.enableStatus;
	}

	public void setEnableStatus(Integer enableStatus) {
		this.enableStatus = enableStatus;
	}

	public Integer getUsedStatus() {
		return this.usedStatus;
	}

	public void setUsedStatus(Integer usedStatus) {
		this.usedStatus = usedStatus;
	}

	public Date getEffectiveStartTime() {
		return this.effectiveStartTime;
	}

	public void setEffectiveStartTime(Date effectiveStartTime) {
		this.effectiveStartTime = effectiveStartTime;
	}

	public Date getEffectiveEndTime() {
		return this.effectiveEndTime;
	}

	public void setEffectiveEndTime(Date effectiveEndTime) {
		this.effectiveEndTime = effectiveEndTime;
	}

	public Long getAreaTeamId() {
		return this.areaTeamId;
	}

	public void setAreaTeamId(Long areaTeamId) {
		this.areaTeamId = areaTeamId;
	}

	public String getAreaTeamName() {
		return this.areaTeamName;
	}

	public void setAreaTeamName(String areaTeamName) {
		this.areaTeamName = areaTeamName;
	}

	public String getBusTeamIds() {
		return this.busTeamIds;
	}

	public void setBusTeamIds(String busTeamIds) {
		this.busTeamIds = busTeamIds;
	}

	public String getPeriodIds() {
		return this.periodIds;
	}

	public void setPeriodIds(String periodIds) {
		this.periodIds = periodIds;
	}

	public String getProductIds() {
		return this.productIds;
	}

	public void setProductIds(String productIds) {
		this.productIds = productIds;
	}

	public String getCourseTemplateIds() {
		return this.courseTemplateIds;
	}

	public void setCourseTemplateIds(String courseTemplateIds) {
		this.courseTemplateIds = courseTemplateIds;
	}

	public String getGradeIds() {
		return this.gradeIds;
	}

	public void setGradeIds(String gradeIds) {
		this.gradeIds = gradeIds;
	}

	public String getSubjectIds() {
		return this.subjectIds;
	}

	public void setSubjectIds(String subjectIds) {
		this.subjectIds = subjectIds;
	}

	public Date getCreateTime() {
		return this.createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}

	public Date getUpdateTime() {
		return this.updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

}
